A. MaxRexx hasn't actually hung, what it's doing is waiting to receive an AREXX command from the Arexx Script you are trying to run with it. The problem is a parsing error in the script which has been picked up by RX. Check the last entry in T:MaxRexx.errors which will point you in the right direction. Common problems are, missing quote marks, quote marks in the wrong position, or commands mispelled. Use quit.rexx to quit MaxRexx when this occurs. See script for usage.
Q. I've written a script which I want to use on my multiline BBS, how do I test to make sure it works?
A. There is a package called NullModem.device which lets you use a terminal program to call your own BBS on the same machine. It works by fooling the terminal program into thinking it's got a modem and fools Maxs into thinking it has just connected to a modem.
Q. MaxRexx seems to run slow, why?
A. This is because of the amount of processing MaxRexx has to do, not only does it have to monitor the ARexx port, it must process the commands it receives and communicate with Maxs BBS as well. Not only that, you have to include the parsing time for RX to parse your script. MaxRexx should be at least acceptable on an 030@25Mhz.
Q. Why does MaxRexx catch some errors in the Arexx script but not others?
A. MaxRexx only has limited error checking, it can't check for errors in your script that are not MaxRexx commands, this is the job of RX. MaxRexx can warn you if it receives a command that it doesn't understand.
Q. MaxRexx crashes on me, why?
A. Firstly, make sure you meet the requirements. Secondly, make sure you are running the correct version. MaxRexx.020 is an optimised version for 020 processors and above and MaxRexx.040 is for 040 processors and above only. If you ARE running one of the optised versions then try running a version for a lower processor. If this doesn't work then E-mail me a bug report.
$GOTO 10,5
Incorrect!
$GOTO '10,5'
Correct!
If we had two variables called X and Y which we wanted to pass to the $GOTO command:
$GOTO X,Y
Incorrect!
$GOTO 'X,Y'
Incorrect!
$GOTO X','Y
Correct!
Ok, so how does this work? Well with any command that is sent through an Arexx port, anything contained within ' ' means send exactly what you see. Anything contained outside those is deemed to be a variable, and ARexx tries to substitute that variables value instead. If this seems a little confusing, look at the script Everything.rexx and work you way through it.
2. You can quit MaxRexx at any time, on any node, even it it's running a script
by using quit.rexx and from the CLI entering:
RX quit.rexx line
- Where line repesents the actual line number of the MaxRexx that you want to quit. 0 for local, 2 for line 2 etc.